package com.quantdo.qtm.mysql.service.monitor;

import com.quantdo.qtm.interfaces.common.QuantdoResponse;
import com.quantdo.qtm.interfaces.mysql.pojo.monitor.query.MysqlStatusPointQuery;

public interface MysqlMonitorService {

    /**
     * 条件查询
     * @param mysqlStatusPointQuery
     * @return
     */
    Object selectStatus(MysqlStatusPointQuery mysqlStatusPointQuery);

    QuantdoResponse<?> selectQps(MysqlStatusPointQuery mysqlStatusPointQuery);

    QuantdoResponse<?> selectTps(MysqlStatusPointQuery mysqlStatusPointQuery);

    QuantdoResponse<?> selectDeleteqty(MysqlStatusPointQuery mysqlStatusPointQuery);

    QuantdoResponse<?> selectInnodbbufferpool(MysqlStatusPointQuery mysqlStatusPointQuery);

    QuantdoResponse<?> selectInsertQty(MysqlStatusPointQuery mysqlStatusPointQuery);

    QuantdoResponse<?> selectMyisamBufferPool(MysqlStatusPointQuery mysqlStatusPointQuery);

    QuantdoResponse<?> selectReceivedFlux(MysqlStatusPointQuery mysqlStatusPointQuery);

    QuantdoResponse<?> selectSelectQty(MysqlStatusPointQuery mysqlStatusPointQuery);

    QuantdoResponse<?> selectSentFlux(MysqlStatusPointQuery mysqlStatusPointQuery);

    QuantdoResponse<?> selectSlowQueries(MysqlStatusPointQuery mysqlStatusPointQuery);

    QuantdoResponse<?> selectThreadConnedQty(MysqlStatusPointQuery mysqlStatusPointQuery);

    QuantdoResponse<?> selectThreadConningQty(MysqlStatusPointQuery mysqlStatusPointQuery);

    QuantdoResponse<?> selectUpdateQty(MysqlStatusPointQuery mysqlStatusPointQuery);

    QuantdoResponse<?> selectWriteQty(MysqlStatusPointQuery mysqlStatusPointQuery);

}
